One common use of speech recognition is in voice dialing. A user is prompted to speak a name, a voice recognition system interprets the user's voice input and an attempt is made to match the identified name to a directory entry. Voice dialing systems typically perform reasonably well when the namespace, that is, the number of names among which a selection is to be made is reasonably small, for example, 1,000 or less. However, for large name spaces, such as might be encountered in a telephone directory of a very large company, voice dialing systems encounter serious problems. A voice recognition system typically operates by receiving a voice input from a user and producing a match list, comprising an ordered list of possible matches to the voice input, with each possible match being associated with a confidence score. In a large organization, many employees may be expected to have had identical names or similar sounding names so that many false matches are likely to occur. A voice recognition system may present the candidates to user with identifying information allowing the user to confirm or reject the entries in the result list. Alternatively, the system may attempt to narrow the search base by presenting preliminary questions to the user before attempting a match. With the present state of voice recognition technology, either of these approaches is likely to be extremely time consuming and annoying for the user as the user either rejects the succession of false matches or else answers numerous questions to narrow the search space.
Users of voice recognition systems, especially those that search very large namespaces, do not have an equal likelihood of calling every party associated with an entry in the namespace. A typical caller to an organization will not interact frequently with more than a relatively small selection of people in the organization, and will usually limit his or her calls to those people. A voice recognition result matching the name of a party with whom the user frequently interacts will have a higher likelihood of correctly identifying the party the user wishes to call than will a result that does not match the name of a party with whom the user is known to frequently interact.
There exists, therefore, a need for systems and techniques that take into account the fact that a user has a higher probability of calling members of a relatively small group of contacts, that identifies contacts the user is more likely to call and that uses knowledge of the contacts that a user is more likely to call in evaluating recognition results.